package com.hsmpay.mobile.service.trans;

import com.hsmpay.common.service.BaseService;
import com.hsmpay.mobile.pojo.trans.SSBindCards;
import com.hsmpay.mobile.pojo.trans.SSBindCardsExample;
import com.hsmpay.mobile.pojo.trans.UserNocardpayLog;
import com.hsmpay.mobile.pojo.trans.UserVerifycardsLog;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

/**
 * Created by zhy on 16/3/28.
 *
 * 秒到绑定银行卡服务
 */
public interface SSBindCardsService<Entity extends SSBindCards, Query extends Object> extends BaseService<Entity,Query> {
    /**
     * 插入银行卡绑定信息
     * @return
     * @throws SQLException
     */
    public Long insertSSBindCards(SSBindCards bindCards) throws Exception;
    
    int updateByExampleSelective(SSBindCards record, SSBindCardsExample example);

    /**
     * 查询用户绑定银行卡信息
     * @return
     * @throws SQLException
     */
    public List<SSBindCards> searchSSBindCards(Long userId) throws SQLException;
    /**
     * 尤银信用卡鉴权
     * @param userVerifycardsLog
     * @return
     */
    public Map<String,Object> authCard(UserVerifycardsLog userVerifycardsLog,Long roleId,Long terminalTypeId);
    /**
     * 绑定银行卡
     * @param userNocardpayLog
     * @return
     */
	public Map bindBankCard(UserNocardpayLog userNocardpayLog,String code);

    /**
     * 记录秒到绑卡时的消费信息
     * @param userNocardpayLog
     */
    public void insertUserNocardpayLog(UserNocardpayLog userNocardpayLog);

    /**
     * 诺正通信用卡鉴权
     * @param userVerifycardsLog
     * @return
     */
    public Map<String,Object> NZTAuthCard(UserVerifycardsLog userVerifycardsLog,Long roleId,Long terminalTypeId);
    
    /**
     * 获取绑定的银行列表
     * @param userId
     * @return
     */
	public List<SSBindCards> selectBindCardsListByUserId(Long userId);


}
